package com.example.piece.repository

import com.example.base.repository.BaseRepository
import com.example.piece.entity.AttentionEntity
import com.example.piece.entity.RecommendEntity
import com.example.piece.net.NetManager

class HomeRepository: BaseRepository()  {

    /**
     * 1
     * 获取主页的推荐关注数据
     * 获取被推荐关注的用户
     * @see List<RecommendEntity>
     * @see RecommendEntity
     * **/
    suspend fun recommend() = request {
        NetManager.apiService.recommend()
    }
    /**
     * 2
     * 获取关注的用户发布的段子列表
     *  获取关注用户发布的段子信息
     * @param page 页数
     *
     * @see List<AttentionEntity>
     * @see AttentionEntity
     */
    suspend fun attentionList(page: String) = request {
        NetManager.apiService.attentionList(page)
    }

    /**
     * 3
     * 搜索段子
     * @param keyword 搜索的关键字
     * @param page 页数
     *
     * @see  List<AttentionEntity>
     * @see AttentionEntity
     */
    suspend fun jokesSearch(
        keyword: String,
        page: String
    ) = request {
        NetManager.apiService.jokesSearch(keyword, page)
    }

    /**
     * 4
     * 获取主页的最新列表数据
     * 获取最新列表数据
     * @see List<AttentionEntity>
     * @see AttentionEntity
     */
    suspend fun homeLatest() = request {
        NetManager.apiService.homeLatest()
    }

    /**
     * 5
     * 获取主页的纯图片列表数据
     * 获取纯图片数据
     * @seeList<AttentionEntity>
     * @see AttentionEntity
     */
    suspend fun homePic() = request {
        NetManager.apiService.homePic()
    }


    /**
     * 6
     * 获取主页的推荐列表数据
     * 或者主页推荐数据
     * @see List<AttentionEntity>
     * @see AttentionEntity
     */
    suspend fun homeRecommend() = request {
        NetManager.apiService.homeRecommend()
    }
    /**
     * 7
     * 获取主页的纯文列表数据
     * 获取纯文本信息
     * @see List<AttentionEntity>
     * @see AttentionEntity
     */
    suspend fun homeText() = request {
        NetManager.apiService.homeText()
    }

}